<?php
//1.1 需求与微信服务器建立联系；
//.1 当我们点击微信公众平台->基本配置 的 提交按钮时，
//微信服务器将自动为我们发送4个字段以GET请求的形式到我们填写的服务器地址 微信服务器会；
//signature微信加密签名 timestamp时间戳
// nonce随机数
//echostr随机字符串
//所以首先我们要先接收者4个字段的值
$signature = $_GET['signature'];
$timestamp = $_GET['timestamp'];
$nonce = $_GET['nonce'];
$echostr = $_GET['echostr'];

//1.2 看到页面上的开发者token值得输入框了吗？现在我们在这里设置token值；
$token = 'liutongToken';
//1.3 根据开发者文档的第二步1）的需求;将token、timestamp、nonce三个参数进行字典序排序;
//.1 将token、timestamp、nonce参数放入一个数组中;
$arr = [$token, $timestamp, $nonce];
//.2 根据需求对arr数组利用系统自带的sort()和SORT_STRING进行字典排序；
sort($arr, SORT_STRING);
//.3 根据手册第二步->2）的需求将上面排序好的数组进行数组分割，再字分割好的字符串拼接成一个字符串进行sha1加密
//执行数组分割成字符串；
$str = implode($arr);
//将数组进行加密
$string = sha1($str);
//1.4 根据微信开发文档接入入口->第二步->3）开发者获得加密后的字符串可与signature对比，标识该请求来源于微信
//.1 进行if判断，判断我们加密好的字符串和微信服务器给我们发来的加密字符串是否一致
if ($string == $signature) {
//如果两次加密后的签名相同,代表所有参数都相同,加密方式一样,这个时候,我们需要将微信给我们的$echostr参数原样输出给它

    echo $echostr;
}


?>